<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Aria: ArRecurrentTask Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aria
   &#160;<span id="projectnumber">2.9.4</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArRecurrentTask.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classArRecurrentTask-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArRecurrentTask Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__UtilityClasses.html">Utility Classes</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Recurrent task (runs in its own thread)  
 <a href="classArRecurrentTask.html#details">More...</a></p>

<p><code>#include &lt;ArRecurrentTask.h&gt;</code></p>

<p>Inherits <a class="el" href="classArASyncTask.html">ArASyncTask</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af121eea15d2a91c8202009f9834ab0a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af121eea15d2a91c8202009f9834ab0a0"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArRecurrentTask.html#af121eea15d2a91c8202009f9834ab0a0">ArRecurrentTask</a> ()</td></tr>
<tr class="memdesc:af121eea15d2a91c8202009f9834ab0a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:af121eea15d2a91c8202009f9834ab0a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c61e6b0e043ae2347df2397cc587fa2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArRecurrentTask.html#a5c61e6b0e043ae2347df2397cc587fa2">done</a> ()</td></tr>
<tr class="memdesc:a5c61e6b0e043ae2347df2397cc587fa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the task is running or not.  <a href="#a5c61e6b0e043ae2347df2397cc587fa2">More...</a><br /></td></tr>
<tr class="separator:a5c61e6b0e043ae2347df2397cc587fa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad90f473791b2dedb6785ea60926b7901"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad90f473791b2dedb6785ea60926b7901"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArRecurrentTask.html#ad90f473791b2dedb6785ea60926b7901">go</a> ()</td></tr>
<tr class="memdesc:ad90f473791b2dedb6785ea60926b7901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts up on cycle of the recurrent task. <br /></td></tr>
<tr class="separator:ad90f473791b2dedb6785ea60926b7901"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07775e8e8e350f13ecf840486f2f6427"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07775e8e8e350f13ecf840486f2f6427"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>kill</b> ()</td></tr>
<tr class="separator:a07775e8e8e350f13ecf840486f2f6427"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0d05370a919110963414b3b817d0982"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0d05370a919110963414b3b817d0982"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArRecurrentTask.html#af0d05370a919110963414b3b817d0982">reset</a> ()</td></tr>
<tr class="memdesc:af0d05370a919110963414b3b817d0982"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel the task and reset for the next cycle. <br /></td></tr>
<tr class="separator:af0d05370a919110963414b3b817d0982"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a2f70f5cabf3fe512259259eb070e0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a2f70f5cabf3fe512259259eb070e0b"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><b>runThread</b> (void *ptr)</td></tr>
<tr class="separator:a6a2f70f5cabf3fe512259259eb070e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc955dd16adc10a32c250db722f6f3e7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArRecurrentTask.html#abc955dd16adc10a32c250db722f6f3e7">task</a> ()=0</td></tr>
<tr class="memdesc:abc955dd16adc10a32c250db722f6f3e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The main run loop.  <a href="#abc955dd16adc10a32c250db722f6f3e7">More...</a><br /></td></tr>
<tr class="separator:abc955dd16adc10a32c250db722f6f3e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63c2b464a541d2054e88a119fe846722"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63c2b464a541d2054e88a119fe846722"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArRecurrentTask.html#a63c2b464a541d2054e88a119fe846722">~ArRecurrentTask</a> ()</td></tr>
<tr class="memdesc:a63c2b464a541d2054e88a119fe846722"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descructor. <br /></td></tr>
<tr class="separator:a63c2b464a541d2054e88a119fe846722"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classArASyncTask"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classArASyncTask')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classArASyncTask.html">ArASyncTask</a></td></tr>
<tr class="memitem:a2f8d322b93edf16edd3253692e130480 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f8d322b93edf16edd3253692e130480"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#a2f8d322b93edf16edd3253692e130480">ArASyncTask</a> ()</td></tr>
<tr class="memdesc:a2f8d322b93edf16edd3253692e130480 inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a2f8d322b93edf16edd3253692e130480 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1219f8fc48adfc07ab59ea414585c479 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1219f8fc48adfc07ab59ea414585c479"></a>
virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#a1219f8fc48adfc07ab59ea414585c479">create</a> (bool joinable=true, bool lowerPriority=true)</td></tr>
<tr class="memdesc:a1219f8fc48adfc07ab59ea414585c479 inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the task and start it going. <br /></td></tr>
<tr class="separator:a1219f8fc48adfc07ab59ea414585c479 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd6307214f0bfdcd9f1c89664b2a7ad1 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#acd6307214f0bfdcd9f1c89664b2a7ad1">getThreadActivity</a> (void)</td></tr>
<tr class="memdesc:acd6307214f0bfdcd9f1c89664b2a7ad1 inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a string that describes what the thread is doing, or NULL if it doesn't know.  <a href="#acd6307214f0bfdcd9f1c89664b2a7ad1">More...</a><br /></td></tr>
<tr class="separator:acd6307214f0bfdcd9f1c89664b2a7ad1 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9da8602419f2c52f001f130fe489b387 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#a9da8602419f2c52f001f130fe489b387">run</a> (void)</td></tr>
<tr class="memdesc:a9da8602419f2c52f001f130fe489b387 inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run without creating a new thread.  <a href="#a9da8602419f2c52f001f130fe489b387">More...</a><br /></td></tr>
<tr class="separator:a9da8602419f2c52f001f130fe489b387 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d9b25fe57d5d4c4a7146827798dcbe0 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d9b25fe57d5d4c4a7146827798dcbe0"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#a3d9b25fe57d5d4c4a7146827798dcbe0">runAsync</a> (void)</td></tr>
<tr class="memdesc:a3d9b25fe57d5d4c4a7146827798dcbe0 inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run in its own thread. <br /></td></tr>
<tr class="separator:a3d9b25fe57d5d4c4a7146827798dcbe0 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1b9692583669e973fcb70fe843e556f inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#ab1b9692583669e973fcb70fe843e556f">runInThisThread</a> (void *arg=0)</td></tr>
<tr class="memdesc:ab1b9692583669e973fcb70fe843e556f inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function used with system threading system to run the new thread.  <a href="#ab1b9692583669e973fcb70fe843e556f">More...</a><br /></td></tr>
<tr class="separator:ab1b9692583669e973fcb70fe843e556f inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb6a00c292ff5aa6e8db8cd9d33747ac inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb6a00c292ff5aa6e8db8cd9d33747ac"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#adb6a00c292ff5aa6e8db8cd9d33747ac">stopRunning</a> (void)</td></tr>
<tr class="memdesc:adb6a00c292ff5aa6e8db8cd9d33747ac inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop the thread. <br /></td></tr>
<tr class="separator:adb6a00c292ff5aa6e8db8cd9d33747ac inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a7a9aafc788b3a03fbaf71a87e1ee44 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a7a9aafc788b3a03fbaf71a87e1ee44"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArASyncTask.html#a9a7a9aafc788b3a03fbaf71a87e1ee44">~ArASyncTask</a> ()</td></tr>
<tr class="memdesc:a9a7a9aafc788b3a03fbaf71a87e1ee44 inherit pub_methods_classArASyncTask"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a9a7a9aafc788b3a03fbaf71a87e1ee44 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:af6646fdb41042a80a0d54c778d1af3d9 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6646fdb41042a80a0d54c778d1af3d9"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#af6646fdb41042a80a0d54c778d1af3d9">ArThread</a> (bool blockAllSignals=true)</td></tr>
<tr class="memdesc:af6646fdb41042a80a0d54c778d1af3d9 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:af6646fdb41042a80a0d54c778d1af3d9 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff21160d49a502bfc018d0e2126959aa inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff21160d49a502bfc018d0e2126959aa"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aff21160d49a502bfc018d0e2126959aa">ArThread</a> (ThreadType thread, bool joinable, bool blockAllSignals=true)</td></tr>
<tr class="memdesc:aff21160d49a502bfc018d0e2126959aa inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor - starts the thread. <br /></td></tr>
<tr class="separator:aff21160d49a502bfc018d0e2126959aa inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08068bcc611a53074d8999a5622f2289 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08068bcc611a53074d8999a5622f2289"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a08068bcc611a53074d8999a5622f2289">ArThread</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *func, bool joinable=true, bool blockAllSignals=true)</td></tr>
<tr class="memdesc:a08068bcc611a53074d8999a5622f2289 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor - starts the thread. <br /></td></tr>
<tr class="separator:a08068bcc611a53074d8999a5622f2289 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f5c6ddc088c46736ce2e698a5ae3050 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f5c6ddc088c46736ce2e698a5ae3050"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a9f5c6ddc088c46736ce2e698a5ae3050">cancel</a> (void)</td></tr>
<tr class="memdesc:a9f5c6ddc088c46736ce2e698a5ae3050 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel the thread. <br /></td></tr>
<tr class="separator:a9f5c6ddc088c46736ce2e698a5ae3050 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f8c5e5a01c432f8e5722487b11b9aa inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70f8c5e5a01c432f8e5722487b11b9aa"></a>
virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a70f8c5e5a01c432f8e5722487b11b9aa">detach</a> (void)</td></tr>
<tr class="memdesc:a70f8c5e5a01c432f8e5722487b11b9aa inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detatch the thread so it cant be joined. <br /></td></tr>
<tr class="separator:a70f8c5e5a01c432f8e5722487b11b9aa inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8dc1c54a7c07dc2affdef031a74833e inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8dc1c54a7c07dc2affdef031a74833e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aa8dc1c54a7c07dc2affdef031a74833e">getBlockAllSignals</a> (void)</td></tr>
<tr class="memdesc:aa8dc1c54a7c07dc2affdef031a74833e inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do we block all process signals at startup? <br /></td></tr>
<tr class="separator:aa8dc1c54a7c07dc2affdef031a74833e inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb7ba63e4e43e85f47ff9429de88c599 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb7ba63e4e43e85f47ff9429de88c599"></a>
virtual <a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#acb7ba63e4e43e85f47ff9429de88c599">getFunc</a> (void) const </td></tr>
<tr class="memdesc:acb7ba63e4e43e85f47ff9429de88c599 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the functor that the thread runs. <br /></td></tr>
<tr class="separator:acb7ba63e4e43e85f47ff9429de88c599 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48d0856b755e8950d820d71fd097fb0d inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48d0856b755e8950d820d71fd097fb0d"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a48d0856b755e8950d820d71fd097fb0d">getJoinable</a> (void) const </td></tr>
<tr class="memdesc:a48d0856b755e8950d820d71fd097fb0d inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the joinable status of the thread. <br /></td></tr>
<tr class="separator:a48d0856b755e8950d820d71fd097fb0d inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad57f4235fd1f9092f55aaec52a57068f inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad57f4235fd1f9092f55aaec52a57068f"></a>
virtual ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#ad57f4235fd1f9092f55aaec52a57068f">getOSThread</a> (void) const </td></tr>
<tr class="memdesc:ad57f4235fd1f9092f55aaec52a57068f inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying os thread type. <br /></td></tr>
<tr class="separator:ad57f4235fd1f9092f55aaec52a57068f inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f9451e6bcebcd4524d86d88732047b5 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f9451e6bcebcd4524d86d88732047b5"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><b>getPID</b> (void)</td></tr>
<tr class="separator:a2f9451e6bcebcd4524d86d88732047b5 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a544461d5afc9a1f1d50398ef06f55743 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a544461d5afc9a1f1d50398ef06f55743"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a544461d5afc9a1f1d50398ef06f55743">getRunning</a> (void) const </td></tr>
<tr class="memdesc:a544461d5afc9a1f1d50398ef06f55743 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the running status of the thread. <br /></td></tr>
<tr class="separator:a544461d5afc9a1f1d50398ef06f55743 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05333f5f05022f42ab46a6dd8a8f1958 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05333f5f05022f42ab46a6dd8a8f1958"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a05333f5f05022f42ab46a6dd8a8f1958">getRunningWithLock</a> (void)</td></tr>
<tr class="memdesc:a05333f5f05022f42ab46a6dd8a8f1958 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the running status of the thread, locking around the variable. <br /></td></tr>
<tr class="separator:a05333f5f05022f42ab46a6dd8a8f1958 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f17f4a7f59d8e14399e03ee405380be inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f17f4a7f59d8e14399e03ee405380be"></a>
virtual const ThreadType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a1f17f4a7f59d8e14399e03ee405380be">getThread</a> (void) const </td></tr>
<tr class="memdesc:a1f17f4a7f59d8e14399e03ee405380be inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying thread type. <br /></td></tr>
<tr class="separator:a1f17f4a7f59d8e14399e03ee405380be inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3c3543b2749dccd4e94e96fad418780 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3c3543b2749dccd4e94e96fad418780"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#af3c3543b2749dccd4e94e96fad418780">getThreadName</a> (void)</td></tr>
<tr class="memdesc:af3c3543b2749dccd4e94e96fad418780 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the thread. <br /></td></tr>
<tr class="separator:af3c3543b2749dccd4e94e96fad418780 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2220d1f5e5701a6666038cc4754b7c50 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2220d1f5e5701a6666038cc4754b7c50"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><b>getTID</b> (void)</td></tr>
<tr class="separator:a2220d1f5e5701a6666038cc4754b7c50 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5868982670b17f27aab0bbbf0749cb6 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#af5868982670b17f27aab0bbbf0749cb6">isThreadFinished</a> () const </td></tr>
<tr class="memdesc:af5868982670b17f27aab0bbbf0749cb6 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the thread has been completed and can be deleted.  <a href="#af5868982670b17f27aab0bbbf0749cb6">More...</a><br /></td></tr>
<tr class="separator:af5868982670b17f27aab0bbbf0749cb6 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38dd0b805242f8144e14c0662eeee37c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a38dd0b805242f8144e14c0662eeee37c">isThreadStarted</a> () const </td></tr>
<tr class="memdesc:a38dd0b805242f8144e14c0662eeee37c inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the thread has been started.  <a href="#a38dd0b805242f8144e14c0662eeee37c">More...</a><br /></td></tr>
<tr class="separator:a38dd0b805242f8144e14c0662eeee37c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4351291f1146bdbc385fc000dfda37a3 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4351291f1146bdbc385fc000dfda37a3"></a>
virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a4351291f1146bdbc385fc000dfda37a3">join</a> (void **r=NULL)</td></tr>
<tr class="memdesc:a4351291f1146bdbc385fc000dfda37a3 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Join on the thread. <br /></td></tr>
<tr class="separator:a4351291f1146bdbc385fc000dfda37a3 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa936e087d49e5151cb3cc1358ae1ce inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a0fa936e087d49e5151cb3cc1358ae1ce">lock</a> (void)</td></tr>
<tr class="memdesc:a0fa936e087d49e5151cb3cc1358ae1ce inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lock the thread instance.  <a href="#a0fa936e087d49e5151cb3cc1358ae1ce">More...</a><br /></td></tr>
<tr class="separator:a0fa936e087d49e5151cb3cc1358ae1ce inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac971ee8ad4b23a5d87e6f0db02062cde inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac971ee8ad4b23a5d87e6f0db02062cde"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#ac971ee8ad4b23a5d87e6f0db02062cde">logThreadInfo</a> (void)</td></tr>
<tr class="memdesc:ac971ee8ad4b23a5d87e6f0db02062cde inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the information about this thread. <br /></td></tr>
<tr class="separator:ac971ee8ad4b23a5d87e6f0db02062cde inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eb9bbbff1f1494a4218be4551c28073 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6eb9bbbff1f1494a4218be4551c28073"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a6eb9bbbff1f1494a4218be4551c28073">setRunning</a> (bool running)</td></tr>
<tr class="memdesc:a6eb9bbbff1f1494a4218be4551c28073 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the running value on the thread. <br /></td></tr>
<tr class="separator:a6eb9bbbff1f1494a4218be4551c28073 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af03075fb22fbfca1212d524f772f6c1c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af03075fb22fbfca1212d524f772f6c1c"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#af03075fb22fbfca1212d524f772f6c1c">setThreadName</a> (const char *name)</td></tr>
<tr class="memdesc:af03075fb22fbfca1212d524f772f6c1c inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the name of the thread. <br /></td></tr>
<tr class="separator:af03075fb22fbfca1212d524f772f6c1c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a718af06ca33f467f714a46f059e2455b inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a718af06ca33f467f714a46f059e2455b">threadFinished</a> (void)</td></tr>
<tr class="memdesc:a718af06ca33f467f714a46f059e2455b inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks the thread as finished and logs useful debugging information.  <a href="#a718af06ca33f467f714a46f059e2455b">More...</a><br /></td></tr>
<tr class="separator:a718af06ca33f467f714a46f059e2455b inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cec8be019396610a5ba10b6ffcd819e inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a2cec8be019396610a5ba10b6ffcd819e">threadStarted</a> (void)</td></tr>
<tr class="memdesc:a2cec8be019396610a5ba10b6ffcd819e inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks the thread as started and logs useful debugging information.  <a href="#a2cec8be019396610a5ba10b6ffcd819e">More...</a><br /></td></tr>
<tr class="separator:a2cec8be019396610a5ba10b6ffcd819e inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeefc89261e7760985b91566029fc9c6c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aeefc89261e7760985b91566029fc9c6c">tryLock</a> (void)</td></tr>
<tr class="memdesc:aeefc89261e7760985b91566029fc9c6c inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try to lock the thread instance without blocking.  <a href="#aeefc89261e7760985b91566029fc9c6c">More...</a><br /></td></tr>
<tr class="separator:aeefc89261e7760985b91566029fc9c6c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa95ba7294af22e4be13215f39de61b38 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aa95ba7294af22e4be13215f39de61b38">unlock</a> (void)</td></tr>
<tr class="memdesc:aa95ba7294af22e4be13215f39de61b38 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlock the thread instance.  <a href="#aa95ba7294af22e4be13215f39de61b38">More...</a><br /></td></tr>
<tr class="separator:aa95ba7294af22e4be13215f39de61b38 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02c1f44d7adb2b9524f0fc410158b554 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02c1f44d7adb2b9524f0fc410158b554"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a02c1f44d7adb2b9524f0fc410158b554">~ArThread</a> ()</td></tr>
<tr class="memdesc:a02c1f44d7adb2b9524f0fc410158b554 inherit pub_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a02c1f44d7adb2b9524f0fc410158b554 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classArThread')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:ad165ffa091e34f6215c73d36aca9b4b2 inherit pub_types_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad165ffa091e34f6215c73d36aca9b4b2"></a>
typedef std::map&lt; ThreadType, <a class="el" href="classArThread.html">ArThread</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>MapType</b></td></tr>
<tr class="separator:ad165ffa091e34f6215c73d36aca9b4b2 inherit pub_types_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53 inherit pub_types_classArThread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53">Status</a> { <br />
&#160;&#160;<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53acc18d305d0eccadd2588c4b42f5f94b5">STATUS_FAILED</a> =1, 
<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53a3a691b0c508247f05b57fdcdf26bcbcf">STATUS_NORESOURCE</a>, 
<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53afb6a6a19ac7e5eae84ca230f90a577c1">STATUS_NO_SUCH_THREAD</a>, 
<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53a8cabd345d26c252559a993ba7d4db196">STATUS_INVALID</a>, 
<br />
&#160;&#160;<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53aa12716ae2e87670197b81ece3dbca9ea">STATUS_JOIN_SELF</a>, 
<a class="el" href="classArThread.html#af6d126a960a5af55f2ab3e05233e8b53ac31e3677374b5ae653026a3be95c6274">STATUS_ALREADY_DETATCHED</a>
<br />
 }</td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53 inherit pub_types_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da72e9d81791ca3da3d04f2b9c65934 inherit pub_types_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8da72e9d81791ca3da3d04f2b9c65934"></a>
typedef pthread_t&#160;</td><td class="memItemRight" valign="bottom"><b>ThreadType</b></td></tr>
<tr class="separator:a8da72e9d81791ca3da3d04f2b9c65934 inherit pub_types_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:ae90c377080eb22ecd565617fbde986dc inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae90c377080eb22ecd565617fbde986dc"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#ae90c377080eb22ecd565617fbde986dc">cancelAll</a> (void)</td></tr>
<tr class="memdesc:ae90c377080eb22ecd565617fbde986dc inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel all threads. <br /></td></tr>
<tr class="separator:ae90c377080eb22ecd565617fbde986dc inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae730b583d5a313dd2d0b28a55b831e10 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae730b583d5a313dd2d0b28a55b831e10"></a>
static <a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#ae730b583d5a313dd2d0b28a55b831e10">getLogLevel</a> (void)</td></tr>
<tr class="memdesc:ae730b583d5a313dd2d0b28a55b831e10 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the logging level for thread information. <br /></td></tr>
<tr class="separator:ae730b583d5a313dd2d0b28a55b831e10 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f22bf6798bbb1f559d0fcb2dd340fe1 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f22bf6798bbb1f559d0fcb2dd340fe1"></a>
static ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a3f22bf6798bbb1f559d0fcb2dd340fe1">getThisOSThread</a> (void)</td></tr>
<tr class="memdesc:a3f22bf6798bbb1f559d0fcb2dd340fe1 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying os thread type of this thread. <br /></td></tr>
<tr class="separator:a3f22bf6798bbb1f559d0fcb2dd340fe1 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f07974eaa1f04b40e7e29281063ae32 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f07974eaa1f04b40e7e29281063ae32"></a>
static const ThreadType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a5f07974eaa1f04b40e7e29281063ae32">getThisThread</a> (void)</td></tr>
<tr class="memdesc:a5f07974eaa1f04b40e7e29281063ae32 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying thread type of this thread. <br /></td></tr>
<tr class="separator:a5f07974eaa1f04b40e7e29281063ae32 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2070e4319d8a11cb025fbeb0fdb36ade inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2070e4319d8a11cb025fbeb0fdb36ade"></a>
static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a2070e4319d8a11cb025fbeb0fdb36ade">getThisThreadName</a> (void)</td></tr>
<tr class="memdesc:a2070e4319d8a11cb025fbeb0fdb36ade inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the this thread. <br /></td></tr>
<tr class="separator:a2070e4319d8a11cb025fbeb0fdb36ade inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a602608b819fd0d206ece3e7108e897c1 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a602608b819fd0d206ece3e7108e897c1">init</a> (void)</td></tr>
<tr class="memdesc:a602608b819fd0d206ece3e7108e897c1 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the internal book keeping structures.  <a href="#a602608b819fd0d206ece3e7108e897c1">More...</a><br /></td></tr>
<tr class="separator:a602608b819fd0d206ece3e7108e897c1 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a669ea48142e11e67465cd389be8608db inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a669ea48142e11e67465cd389be8608db"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a669ea48142e11e67465cd389be8608db">joinAll</a> (void)</td></tr>
<tr class="memdesc:a669ea48142e11e67465cd389be8608db inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Join on all threads. <br /></td></tr>
<tr class="separator:a669ea48142e11e67465cd389be8608db inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3deec9c656a29d1a9f33dc52ca05afa9 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a3deec9c656a29d1a9f33dc52ca05afa9">osSelf</a> (void)</td></tr>
<tr class="memdesc:a3deec9c656a29d1a9f33dc52ca05afa9 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the os self of the current thread.  <a href="#a3deec9c656a29d1a9f33dc52ca05afa9">More...</a><br /></td></tr>
<tr class="separator:a3deec9c656a29d1a9f33dc52ca05afa9 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94f5c62be5ea634a63645b09d24618ea inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArThread.html">ArThread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a94f5c62be5ea634a63645b09d24618ea">self</a> (void)</td></tr>
<tr class="memdesc:a94f5c62be5ea634a63645b09d24618ea inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the instance of your own thread (the current one)  <a href="#a94f5c62be5ea634a63645b09d24618ea">More...</a><br /></td></tr>
<tr class="separator:a94f5c62be5ea634a63645b09d24618ea inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8bdbdb6a182a26b083577d341d73025 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8bdbdb6a182a26b083577d341d73025"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aa8bdbdb6a182a26b083577d341d73025">setLogLevel</a> (<a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a> level)</td></tr>
<tr class="memdesc:aa8bdbdb6a182a26b083577d341d73025 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the logging level for thread information. <br /></td></tr>
<tr class="separator:aa8bdbdb6a182a26b083577d341d73025 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adceb0c14e9674056fc637c95142fdfad inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adceb0c14e9674056fc637c95142fdfad"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#adceb0c14e9674056fc637c95142fdfad">shutdown</a> ()</td></tr>
<tr class="memdesc:adceb0c14e9674056fc637c95142fdfad inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shuts down and deletes the last remaining thread; call after joinAll. <br /></td></tr>
<tr class="separator:adceb0c14e9674056fc637c95142fdfad inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeed26f3e82c2f329d8b7286b0c59a75d inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeed26f3e82c2f329d8b7286b0c59a75d"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#aeed26f3e82c2f329d8b7286b0c59a75d">stopAll</a> ()</td></tr>
<tr class="memdesc:aeed26f3e82c2f329d8b7286b0c59a75d inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop all threads. <br /></td></tr>
<tr class="separator:aeed26f3e82c2f329d8b7286b0c59a75d inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16d8ee7da5d5ebc2540e38ca1ce2eeb2 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16d8ee7da5d5ebc2540e38ca1ce2eeb2"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a16d8ee7da5d5ebc2540e38ca1ce2eeb2">yieldProcessor</a> (void)</td></tr>
<tr class="memdesc:a16d8ee7da5d5ebc2540e38ca1ce2eeb2 inherit pub_static_methods_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Yield the processor to another thread. <br /></td></tr>
<tr class="separator:a16d8ee7da5d5ebc2540e38ca1ce2eeb2 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:a01417ec8ea06ff5900c6d9352ee02416 inherit pro_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01417ec8ea06ff5900c6d9352ee02416"></a>
virtual int&#160;</td><td class="memItemRight" valign="bottom"><b>doJoin</b> (void **ret=NULL)</td></tr>
<tr class="separator:a01417ec8ea06ff5900c6d9352ee02416 inherit pro_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:a5c4c69824b403d537849faa8342355e1 inherit pro_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c4c69824b403d537849faa8342355e1"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>addThreadToMap</b> (ThreadType pt, <a class="el" href="classArThread.html">ArThread</a> *at)</td></tr>
<tr class="separator:a5c4c69824b403d537849faa8342355e1 inherit pro_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f94436985a766a42c6abc292281007e inherit pro_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f94436985a766a42c6abc292281007e"></a>
static <a class="el" href="classArThread.html">ArThread</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>findThreadInMap</b> (ThreadType t)</td></tr>
<tr class="separator:a9f94436985a766a42c6abc292281007e inherit pro_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aa74e2916e3f9a3f0f00958934b1cd5 inherit pro_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0aa74e2916e3f9a3f0f00958934b1cd5"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>removeThreadFromMap</b> (ThreadType t)</td></tr>
<tr class="separator:a0aa74e2916e3f9a3f0f00958934b1cd5 inherit pro_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classArThread')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:a0e275487e7a34da90f8892b0721cf655 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e275487e7a34da90f8892b0721cf655"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myBlockAllSignals</b></td></tr>
<tr class="separator:a0e275487e7a34da90f8892b0721cf655 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af35bf7a94a72403c0cbc6918a590f86a inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af35bf7a94a72403c0cbc6918a590f86a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myFinished</b></td></tr>
<tr class="separator:af35bf7a94a72403c0cbc6918a590f86a inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eaadf53f9bba14c32f3177614de6ca3 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4eaadf53f9bba14c32f3177614de6ca3"></a>
<a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>myFunc</b></td></tr>
<tr class="separator:a4eaadf53f9bba14c32f3177614de6ca3 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab998c835c88b28b61dc0f5107d3e0483 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab998c835c88b28b61dc0f5107d3e0483"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myJoinable</b></td></tr>
<tr class="separator:ab998c835c88b28b61dc0f5107d3e0483 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69d1428b50c56e69015cfc1d284f5fb7 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69d1428b50c56e69015cfc1d284f5fb7"></a>
<a class="el" href="classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><b>myMutex</b></td></tr>
<tr class="separator:a69d1428b50c56e69015cfc1d284f5fb7 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c992b566d1c1dcd6bfce0a588db5688 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c992b566d1c1dcd6bfce0a588db5688"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>myName</b></td></tr>
<tr class="separator:a4c992b566d1c1dcd6bfce0a588db5688 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c388a8efddf62beabc20dd3a019ed30 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c388a8efddf62beabc20dd3a019ed30"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><b>myPID</b></td></tr>
<tr class="separator:a0c388a8efddf62beabc20dd3a019ed30 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38947d1e811cabefda057a5da123539a inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38947d1e811cabefda057a5da123539a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArThread.html#a38947d1e811cabefda057a5da123539a">myRunning</a></td></tr>
<tr class="memdesc:a38947d1e811cabefda057a5da123539a inherit pro_attribs_classArThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">State variable to denote when the thread should continue or exit. <br /></td></tr>
<tr class="separator:a38947d1e811cabefda057a5da123539a inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f96c03101c5d3f2424dd57c43c74a4c inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f96c03101c5d3f2424dd57c43c74a4c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myStarted</b></td></tr>
<tr class="separator:a7f96c03101c5d3f2424dd57c43c74a4c inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a867abc48de1096405bbace35401bdf21 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a867abc48de1096405bbace35401bdf21"></a>
ArStrMap&#160;</td><td class="memItemRight" valign="bottom"><b>myStrMap</b></td></tr>
<tr class="separator:a867abc48de1096405bbace35401bdf21 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c75dfe1dba30260f27056233d478416 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c75dfe1dba30260f27056233d478416"></a>
ThreadType&#160;</td><td class="memItemRight" valign="bottom"><b>myThread</b></td></tr>
<tr class="separator:a8c75dfe1dba30260f27056233d478416 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73ab8444b3e050d647780063ff739b23 inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73ab8444b3e050d647780063ff739b23"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><b>myTID</b></td></tr>
<tr class="separator:a73ab8444b3e050d647780063ff739b23 inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_attribs_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_classArThread')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="classArThread.html">ArThread</a></td></tr>
<tr class="memitem:a9cc8cb8003899d49b3beebb5d150f5cf inherit pro_static_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9cc8cb8003899d49b3beebb5d150f5cf"></a>
static <a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ourLogLevel</b> = <a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a></td></tr>
<tr class="separator:a9cc8cb8003899d49b3beebb5d150f5cf inherit pro_static_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b690ee5a0c2f111b2031c400cf4c65f inherit pro_static_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b690ee5a0c2f111b2031c400cf4c65f"></a>
static MapType&#160;</td><td class="memItemRight" valign="bottom"><b>ourThreads</b></td></tr>
<tr class="separator:a4b690ee5a0c2f111b2031c400cf4c65f inherit pro_static_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95b16f66bfa8fe37f668e0a398f534e1 inherit pro_static_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95b16f66bfa8fe37f668e0a398f534e1"></a>
static <a class="el" href="classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ourThreadsMutex</b></td></tr>
<tr class="separator:a95b16f66bfa8fe37f668e0a398f534e1 inherit pro_static_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a633981409f3da565fb68e43205918455 inherit pro_static_attribs_classArThread"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a633981409f3da565fb68e43205918455"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourUnknownThreadName</b> = &quot;unknown&quot;</td></tr>
<tr class="separator:a633981409f3da565fb68e43205918455 inherit pro_static_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Recurrent task (runs in its own thread) </p>
<p>The <a class="el" href="classArRecurrentTask.html" title="Recurrent task (runs in its own thread) ">ArRecurrentTask</a> is a task that runs in its own thread. Recurrent tasks are asynchronous tasks that complete in a finite amount of time, and need to be reinvoked recurrently. A typical example is Saphira's localization task: it runs for a few hundred milliseconds, localizes the robot, and returns. Then the cycle starts over. The user simply needs to derive their own class from <a class="el" href="classArRecurrentTask.html" title="Recurrent task (runs in its own thread) ">ArRecurrentTask</a> and define the <a class="el" href="classArRecurrentTask.html#abc955dd16adc10a32c250db722f6f3e7" title="The main run loop. ">task()</a> function. This is the user code that will be called to execute the task body. Then, create an object of the class, and call the <a class="el" href="classArRecurrentTask.html#ad90f473791b2dedb6785ea60926b7901" title="Starts up on cycle of the recurrent task. ">go()</a> function to start the task. The status of the task can be checked with the <a class="el" href="classArRecurrentTask.html#a5c61e6b0e043ae2347df2397cc587fa2" title="Check if the task is running or not. ">done()</a> function, which returns 0 if running, 1 if completed, and 2 if killed. <a class="el" href="classArRecurrentTask.html#ad90f473791b2dedb6785ea60926b7901" title="Starts up on cycle of the recurrent task. ">go()</a> can be called whenever the task is done to restart it. To stop the task in midstream, call <a class="el" href="classArRecurrentTask.html#af0d05370a919110963414b3b817d0982" title="Cancel the task and reset for the next cycle. ">reset()</a>. kill() kills off the thread, shouldn't be used unless exiting the async task permanently </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a5c61e6b0e043ae2347df2397cc587fa2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ArRecurrentTask::done </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if the task is running or not. </p>
<p>0 = running, 1 = finished normally, 2 = canceled </p>

</div>
</div>
<a class="anchor" id="abc955dd16adc10a32c250db722f6f3e7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArRecurrentTask::task </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The main run loop. </p>
<p>Override this function and put your task here. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>ArRecurrentTask.h</li>
<li>ArRecurrentTask.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArRecurrentTask.html">ArRecurrentTask</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
